Использование объекта ДанныеФормыКоллекция

#std628

Область применения: управляемое приложение, мобильное приложение.

1. В целях оптимизации объема данных, передаваемых между клиентом и сервером, платформа 1С:Предприятие по-особому организует передачу объектов формы типа ДанныеФормыКоллекция. Данные таких объектов передаются определенными порциями таким образом, что новые порции данных передаются с сервера на клиент только по мере обращения к этим данным на клиенте. Необходимо учитывать эту особенность при разработке форм, т.к. в противном случае, код формы может приводить к излишним неявным серверным вызовам, инициируемым платформой.

2. При работе с объектами типа ДанныеФормыКоллекция, если предполагается, что объект типа ДанныеФормыКоллекция может содержать большое количество строк (нужно ориентироваться на количество от 20 строк), необходимо придерживаться следующих рекомендаций:

Например, если решается задача по проверке в объекте строк, удовлетворяющих некоторому условию, то
неправильно:

&НаКлиенте
Процедура ПроверитьНаличиеСтрокСНезаполненнымКоличеством()
 Если Объект.Товары.НайтиСтроки(Новый Структура("Количество", 0 )).Количество() > 0 Тогда
  Предупреждение(НСтр("ru = 'Есть строки с нулевым количеством'"));
 КонецЕсли;
КонецПроцедуры

правильно выполнять один явный вызов сервера:

&НаСервере
Функция ЕстьСтрокиСНулевымКоличеством()
 Возврат Объект.Товары.НайтиСтроки(Новый Структура("Количество", 0 )).Количество() > 0;
КонецФункции

&НаКлиенте
Процедура ПроверитьНаличиеСтрокСНезаполненнымКоличеством()
 Если ЕстьСтрокиСНулевымКоличеством() Тогда
  Предупреждение(НСтр("ru = 'Есть строки с нулевым количеством'"));
 КонецЕсли;
КонецПроцедуры

См. также